#ifndef STATE_H
#define STATE_H

#include <QObject>
class QMouseEvent;

class State : public QObject
{
    Q_OBJECT
public:
    explicit State(QObject *parent = 0);
    
    virtual void onMousePress(QMouseEvent* pEvent);
    virtual void onMouseMove(QMouseEvent* pEvent);
    virtual void onMouseRelease(QMouseEvent* pEvent);

    virtual void draw();
public slots:
    virtual void enter() = 0;
    virtual void exit() = 0;
};

#endif // STATE_H
